package com.zpark.servlet.servlet_config;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @PackageName: com.zpark.servlet.servlet_config
 * @ClassName: ServletConfigDemo01
 * @Description:
 * @author: RZS
 * @date: 2023/3/6  15:40
 */
@WebServlet("/sc01.do")
public class ServletConfigDemo01 extends HttpServlet {

    // 定义全局变量
    //private ServletConfig myConfig; // 初始值：null

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /**
         * 获取ServletConfig对象的方法有两种
         *      1、通过init初始化方法获取
         *      2、调用父类方法获取
         */
//        resp.getWriter().println("<h1>"+ this.myConfig.toString() +"</h1>");

        // 调用父类方法获取config对象
        ServletConfig config = super.getServletConfig();
        System.out.println(config);
//        resp.getWriter().println("<h2>"+ config +"</h2>");

        // 返回 Servlet 的名字，即 web.xml 中 <servlet-name> 元素的值。
        String servletName = config.getServletName();
        resp.getWriter().println("<h2>"+ servletName +"</h2>");
        System.out.println(servletName);
    }


    // 通过init初始化方法获取
//    @Override
//    public void init(ServletConfig config) throws ServletException {
//        this.myConfig = config;
//    }
}
